﻿Imports CapaLogica.CL.Usuario
Imports CapaLogica.CL.PeriodoLectivo

Public Class frmBuscarUsuario


    Private Sub tsbCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Dispose()
    End Sub

    Private Sub tsbLimpiarFiltro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbLimpiarFiltro.Click
        Me.limpiarForm()
    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_consultar.Click
        If dt_lista_usuarios.CurrentRow Is Nothing Then
            MessageBox.Show("Debe de seleccionar un usuario", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            Dim formConsultar As New frmRegistrarModificarUsuario()
            formConsultar.ind_accion.Text = "UP"
            llenarComoBox(formConsultar.cmbRol, GestorUsuario.listarRoles(), "--Seleccione un rol--")
            Dim datos As Dictionary(Of String, String) = GestorUsuario.consultar(dt_lista_usuarios.SelectedRows(0).Cells(0).Value)

            formConsultar.idUsuario.Text = datos.Item("id")
            formConsultar.txt_cedula.Text = datos.Item("cedula")
            formConsultar.txtUsuarioNombre.Text = datos.Item("nombre")
            formConsultar.txtUsuarioAp1.Text = datos.Item("ap1")
            formConsultar.txtUsuarioAp2.Text = datos.Item("ap2")
            formConsultar.txtCorreo.Text = datos.Item("correo")
            formConsultar.dt_fecNaci.Text = datos.Item("fec_naci")


            If datos.Item("genero") = "M" Then
                formConsultar.cmbGenero.SelectedIndex = 0
            Else
                formConsultar.cmbGenero.SelectedIndex = 1
            End If

            Dim prol As Integer = CInt(datos.Item("Rol"))

            Select Case prol
                Case 1
                    formConsultar.cmbRol.SelectedIndex = 1
                Case 2
                    formConsultar.cmbRol.SelectedIndex = 2
                Case 3
                    formConsultar.cmbRol.SelectedIndex = 3
                Case 4
                    formConsultar.cmbRol.SelectedIndex = 4
                Case 5
                    formConsultar.cmbRol.SelectedIndex = 5
                Case Else
                    formConsultar.cmbRol.SelectedIndex = 6
            End Select

            formConsultar.ShowDialog()
            limpiarForm()

        End If
    End Sub
    Private Sub btn_eliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_eliminar.Click


        Try
            GestorPeriodoLectivo.validarQuePeriodoLectivoEstaCerrado("eliminar usuario")
            Dim mensaje As String
            mensaje = "¿Desea eliminar el usuario?"
            Dim button As DialogResult = MessageBox.Show(mensaje, "Usuario", MessageBoxButtons.YesNoCancel,
                                                         MessageBoxIcon.Warning)
            If button = DialogResult.Yes Then
                If dt_lista_usuarios.CurrentRow Is Nothing Then
                    MessageBox.Show("Debe de seleccionar una opción", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Else
                    If GestorUsuario.eliminarusuario(dt_lista_usuarios.SelectedRows(0).Cells(0).Value) Then
                        MessageBox.Show("Usuario eliminado exitosamente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        buscar()
                        '' Else
                        '' MessageBox.Show("Ocurrio un error al eliminar el usuario", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    End If
                End If
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Sub frmBuscarUsuario_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cargarForm()
    End Sub

    Private Sub cargarForm()
        limpiarForm()
        llenarComoBox(cmbRol, GestorUsuario.listarRoles(), "--Todos--")
    End Sub

    Private Sub btn_buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_buscar.Click
        buscar()
    End Sub

    Private Sub limpiarForm()
        dt_lista_usuarios.DataSource = Nothing
        If cmbRol.Items.Count > 0 Then
            cmbRol.SelectedIndex = 0
        End If

        txtNombre.Text = ""
        txtAp1.Text = ""
        txtAp2.Text = ""
        txtCedula.Text = ""
    End Sub

    Private Sub buscar()

        Try
            Dim prol As Integer = -1
            If (cmbRol.SelectedIndex > 0) Then
                prol = obtenerIdComboBox(cmbRol)
            End If
            dt_lista_usuarios.DataSource = GestorUsuario.buscarUsuario(txtCedula.Text, txtNombre.Text, txtAp1.Text, txtAp2.Text, prol, "")
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Resultado de Búsqueda")
        End Try
    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Me.Dispose()
    End Sub
End Class
